package com.campus.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 失物招领帖子VO类
 * 用于前端展示的数据传输对象
 */
@Data
public class PostVO {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 帖子标题
     */
    private String title;

    /**
     * 帖子内容描述
     */
    private String content;

    /**
     * 帖子类型(0:失物,1:招领)
     */
    private Integer postType;

    /**
     * 物品名称
     */
    private String itemName;

    /**
     * 丢失时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lostTime;

    /**
     * 拾取时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime foundTime;

    /**
     * 丢失/拾取地点
     */
    private String location;

    /**
     * 联系方式
     */
    private String contactInfo;

    /**
     * 图片URL
     */
    private String image;

    /**
     * 状态(0:待审核,1:进行中,2:已完成,4:已取消)
     */
    private Integer status;

    /**
     * 拒绝原因（仅当状态为待审核且被拒绝时有效）
     */
    private String rejectReason;

    /**
     * 取消原因（仅当状态为进行中或已完成且被取消时有效）
     */
    private String cancelReason;

    /**
     * 发布用户ID
     */
    private Long userId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;


    /**
     * 用户姓名（用于显示发布者信息）
     * 扩展属性 连接查询获取用户姓名并返回给前端
     */
    private String userName;



}